This invention relates to a method and system for generating pseudorandom values. The pseudorandom values have use in many applications such as speech generation.
A popular method used for generating sequences of pseudorandom values is a simple shift with parity derived feedback. This method works well with central processing units (CPU's) that have parity detect circuitry. In this type of pseudorandom value generator, a few bits of the previous value are used to produce a parity bit. The next value is generated by shifting the previous value and using the parity bit to provide feedback. A disadvantage of this method is that machines without parity detect must emulate a parity detect by using software instructions to produce a value comparable to the parity bit.
Another prior art pseudorandom value generator is a multiplicatively congruent pseudorandom value generator. These generators multiply the previous pseudorandom value by a constant and throw out the overflow bits. This method is computationally expensive because it requires a multiply operation.
In addition, both of the above prior art methods have forbidden seeds, or first values of the generator. For example, in the multiplicatively congruent pseudorandom value generator, the seed value cannot be a zero since zero times any constant is zero.
It is desired to have a method of producing pseudorandom values that does not have the disadvantages of these previous methods.